<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<%@ include file="/pub/head_latest.inc"%>
    <title>Edit</title>
</head>
<body style="padding-bottom:31px;">
  <div class="default">
		<table width="100%" cellspacing="0" cellpadding="0" border="0">
			<tr>                                                                                         
				<th align="left" colspan="2"><img align="absmiddle" src="${baseURL}/images/help.gif"><img width="20" src="${baseURL}/images/blank.gif">
				表头设计注意事项：
				</th>
			</tr>
			<tr>
				<th align="left" colspan="2"><img width="1" height="30" src="${baseURL}/images/blank.gif"></th>
			</tr>
			<tr>
				<th width="4%" align="left"><img width="1" height="1" src="${baseURL}/images/blank.gif"></th>
				<td width="96%" align="left">
					<li style="margin-bottom:15px">
						点击左侧树中的表头节点，此处可以编辑节点属性。
					</li>
					<li style="margin-bottom:15px">
						点击&nbsp;<a href="javascript:validateLeafNode();" style="color:red;">验证</a>&nbsp;,验证表头是否能正常显示。
					</li>
					<li style="margin-bottom:15px">
						 叶子节点的值必须为纯文本，或者为空，或者是数据源中定义的字段值，采用{字段名}形式保存。
					</li>
					<li style="margin-bottom:15px">
						 非叶子节点的值必须为纯文本或者为空。
					</li>
					<li style="margin-bottom:15px">
						 叶子节点的值表达式必须为纯文本，或者为空，或者是数据源中定义的字段值的表达式，支持[加、减、乘、除]的操作，采用{字段名}及表达式形式保存。
					</li>
					<li style="margin-bottom:15px">
						 非叶子节点的值表达式必须为纯文本，或者为空。
					</li>
				</td>
			</tr>
		</table>
	</div>
</body>

<script>
/*
   *验证叶子节点是否满足需求 以及非叶子节点是否满足需求
   */
 
  function validateLeafNode(){
	 var obj = genResultObj();
	 var data = parent.tree.getData();
	 var strFlag = "";
	 strFlag = recursion(strFlag,data[0],obj);
 	 if(strFlag.length > 0){
 		 alert(strFlag.substring(1)+"有误，请修改检查后再进行验证！");
 	 }else{
 		 alert("验证成功，此表头成立！");
 	 }
  }
  /*递归验证值、值表达式的内容*/
  function recursion(strFlag,node,obj){
	  if(node.hasChild){
		  if(node.value == null || node.value == ""){
			  strFlag += '';
		  }else{
			  if((node.value.indexOf("{") > -1 && node.value.indexOf("}") > -1)){
					strFlag+= ',节点['+node.name + ']';
			  }else if((node.valueExpression != null && node.valueExpression != "" && node.valueExpression.indexOf("{") > -1 && node.valueExpression.indexOf("}") > -1 )){
				   strFlag+= ',节点['+node.name + ']';
			  } 
		  }
		  for(var i = 0 ; i < node.children.length ; i++){
				strFlag = recursion(strFlag,node.children[i],obj);
		 }
	  }else{
 		  if(node.value == null || node.value == "")
			  strFlag += '';
		  else{
	   		  if((node.value.indexOf("{") > -1 && node.value.indexOf("}") > -1 && obj[(node.value).toLowerCase().replace("{","").replace("}","")] != undefined) || (node.value.indexOf("{") == -1 && node.value.indexOf("}") == -1) ){
				strFlag += '';
			  }else{
 				strFlag+= ',节点['+node.name+']';
			  }
		  }
	  }
	  return strFlag;
  }
  
  function genResultObj(){
	  var arr = parent.parent.genResults();
	  var obj = {};
	  for(var i = 0 ; i < arr.length ; i++){
   		  obj[(arr[i].id).toLowerCase()] = arr[i].text ;
	  }
   	  return obj;
  }
</script>
</html>